<?php
namespace app\admin\controller;
use think\Db;
use think\Controller;

class User extends Base{
	//显示用户列表
	public function userlist(){
		$users=Db::name("user")->alias("u")->join("role r","u.rid=r.rid")->select();
		//把变量保存在模板变量中
		$this->assign("usersa",$users);
		//部门列表
		$role=Db::name("role")->select();
		$this->assign("roles",$role);
		//显示视图层
		return $this->fetch();
	}
	//显示添加用户页面
	// public function adduser(){
	// 	$role=Db::name("role")->select();
	// 	$this->assign("roles",$role);
	// 	return $this->fetch();
	// }
	//完成添加用户功能
	public function doadduser(){
		$mail=input('mail');
		$mailinfo=explode('@',$mail);
		$mailname=$mailinfo[0];
		//判断用户名是否存在
		$num=Db::name("user")->where("uname",$mailname)->count();
		if($num>0)
			$this->error("用户名已存在，请更换邮箱");
		else{
		$data=[
			"uname"=>$mailname,
			"realname"=>input('realname'),
			"tele"=>input('tele'),
			"mail"=>$mail,
			"pw"=>md5(input('pw')),
			"addtime"=>date('Y-m-d H:i:s'),
			'status'=>0,
			"updatetime"=>date('Y-m-d H:i:s'),
			"rid"=>input('rid')
		];
		// 方法二
		// public function doadduser($realname,$pw,$tele,$mail,$rid)
		// $data['realname']=$realname;
		// $data['pw']=$pw;
		// $data['tele']=$tele;
		// $data['mail']=$mail;
		// $data['rid']=$rid;
		$res=Db::name('user')->insert($data);
		if($res){
			//$this->redirect('userlist');
			$this->success('添加成功','userlist');
		}else{
			$this->error('添加失败','userlist');
		}}
	}
	//删除用户
	public function deluser($uid){
		if(Db::name('user')->delete($uid)){
			$this->success('删除成功');
		}else{
			$this->error('删除失败');
		}
	}
	//显示修改页面
	public function edituser($uid){
		//find返回一维数组，一条记录
		//select返回多维数组，多条记录
		$user=Db::name('user')->find($uid);
        $this->assign("user",$user);
		//角色列表
		$roles=Db::name('role')->select();
		$this->assign("roles",$roles);
		return $this->fetch();
	}
	//完成修改
	public function doedituser($uid){
		$mail=input('mail');
		$mailinfo=explode('@',$mail);
		$mailname=$mailinfo[0];
		//判断用户名是否存在
		$num=Db::name("user")->where("uname",$mailname)->count();
		if($num>0)
			$this->error("用户名已存在，请更换邮箱");
		$data=[
			"uname"=>$mailname,
			"realname"=>input('realname'),
			"tele"=>input('tele'),
			"mail"=>$mail,
			'status'=>0,
			"updatetime"=>date('Y-m-d H:i:s'),
			"rid"=>input('rid')
		];
		$res = Db::name("user")->where("uid",$uid)->update($data);		
		if($res){
			$this->success('修改成功','userlist');
		}else{
			$this->error('修改失败');
		}
	}
	//测试模板
	public function users(){
		return $this->fetch();
	}
}